package paneles;
import arreglos.ProductoArrayList;
import entidades.Producto;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import principal.Principal;
import util.Utilitarios;


public class PanelAgregarProducto extends JPanel implements ActionListener {

	private JLabel lblAgregarProductoTitulo;
	// ///Datos del formulario


	private JLabel lblDescripcion;
	private JLabel lblPrecio;
	private JLabel lblCategoria;
	private JLabel lblUnidadMedida;
	private JLabel lblStock;


	
	private JTextField txtDescripcion;
	private JTextField txtPrecio;
	private JComboBox  cboCategoria;
	private JComboBox  cboUnidadMedida;
	private JTextField txtStock;
	


	
	private JButton btnAgregarProducto;
	private JButton btnLimpiarProducto;
	private JInternalFrame agregarProducto;

	public PanelAgregarProducto(Principal pAppletPrincipal,
			JInternalFrame pAgregarProducto) {

		this.agregarProducto = pAgregarProducto;

		lblAgregarProductoTitulo = new JLabel("Nuevo producto", JLabel.CENTER);
		lblAgregarProductoTitulo.setBounds(0, 35, 500, 35);
		lblAgregarProductoTitulo.setForeground(Color.red);
		lblAgregarProductoTitulo.setOpaque(true);		
		lblAgregarProductoTitulo.setFont(new Font("Dialog", Font.BOLD, 18));
		this.add(lblAgregarProductoTitulo);


		lblDescripcion = new JLabel("Descripcion:", JLabel.RIGHT);
		lblDescripcion.setBounds(0, 75, 210, 25);
		lblDescripcion.setForeground(Color.red);
		lblDescripcion.setOpaque(true);		
		lblDescripcion.setFont(new Font("Dialog", Font.BOLD, 12));
		this.add(lblDescripcion);

		

		lblPrecio = new JLabel("Precio:", JLabel.RIGHT);
		lblPrecio.setBounds(0,100, 210, 25);
		lblPrecio.setForeground(Color.red);
		lblPrecio.setOpaque(true);	
		lblPrecio.setFont(new Font("Dialog", Font.BOLD, 12));
		this.add(lblPrecio);

		lblStock = new JLabel("Stock:", JLabel.RIGHT);
		lblStock.setBounds(0, 125, 210, 25);
		lblStock.setForeground(Color.red);
		lblStock.setOpaque(true);
		lblStock.setFont(new Font("Dialog", Font.BOLD, 12));
		this.add(lblStock);

		lblCategoria = new JLabel("Categoria:",JLabel.RIGHT);
		lblCategoria.setBounds(0, 150, 210, 25);
		lblCategoria.setForeground(Color.red);
		lblCategoria.setOpaque(true);
		lblCategoria.setFont(new Font("Dialog", Font.BOLD, 12));
		this.add(lblCategoria);

		lblUnidadMedida = new JLabel("Unidad Medida:", JLabel.RIGHT);
		lblUnidadMedida.setBounds(0, 175, 210, 25);
		lblUnidadMedida.setForeground(Color.red);
		lblUnidadMedida.setOpaque(true);
		lblUnidadMedida.setFont(new Font("Dialog", Font.BOLD, 12));
		this.add(lblUnidadMedida);

	
		

		txtDescripcion = new JTextField();
		txtDescripcion.setBounds(215, 75, 200, 20);
		txtDescripcion.setFont(new Font("Dialog", Font.BOLD, 12));
		this.add(txtDescripcion);

		txtPrecio = new JTextField();
		txtPrecio.setBounds(215, 100, 200, 20);
		txtPrecio.setFont(new Font("Dialog", Font.BOLD, 12));
		this.add(txtPrecio);

		txtStock = new JTextField();
		txtStock.setBounds(215, 125, 200, 20);
		txtStock.setFont(new Font("Dialog", Font.BOLD, 12));
		this.add(txtStock);

		cboCategoria = new JComboBox();
		cboCategoria.setBounds(215,150, 110, 25);
		cboCategoria.addItem("Carnes");
		cboCategoria.addItem("Embutidos");  
		cboCategoria.addItem("Pastas"); 
		cboCategoria.addItem("Productos de limpieza"); 
		cboCategoria.addItem("Lacteos"); 
		cboCategoria.addItem("Especias"); 
		cboCategoria.addActionListener(this);
        this.add(cboCategoria);

        cboUnidadMedida = new JComboBox();
        cboUnidadMedida.setBounds(215,175, 110, 25);
        cboUnidadMedida.addItem("Unidad");
        cboUnidadMedida.addItem("Kilogramo");      
        cboUnidadMedida.addItem("Bolsa");   
        cboUnidadMedida.addItem("Caja");   
        cboUnidadMedida.addActionListener(this);
        this.add(cboUnidadMedida);

		
		
		btnAgregarProducto = new JButton("Grabar");
		btnAgregarProducto.setBounds(150, 225, 90, 30);
		btnAgregarProducto.addActionListener(this);
		this.add(btnAgregarProducto);

		btnLimpiarProducto = new JButton("Limpiar");
		btnLimpiarProducto.setBounds(250, 225, 90, 30);
		btnLimpiarProducto.addActionListener(this);
		this.add(btnLimpiarProducto);
	}

	public void actionPerformed(ActionEvent e) {

		if (e.getSource() == btnAgregarProducto) {
			AgregarDatosProducto();
		}
		if (e.getSource() == btnLimpiarProducto) {
			LimpiarDatos();
		}
	}

	private void LimpiarDatos() {		
		txtDescripcion.setText("");
		txtPrecio.setText("");
		cboCategoria.setSelectedIndex(0);
		cboUnidadMedida.setSelectedIndex(0);
		txtStock.setText("");
		txtDescripcion.requestFocus();		
	}

	
	private void AgregarDatosProducto() {
		Producto producto = null;
		ProductoArrayList productoArrayList= null;
		try {
		
			producto=new Producto();
			
			producto.setDescripcion(txtDescripcion.getText().trim());
			producto.setCategoria(cboCategoria.getSelectedIndex());
			producto.setUnidadMedida(cboUnidadMedida.getSelectedIndex());
			producto.setStock(Integer.valueOf(txtStock.getText().trim()));
			producto.setPrecio(Double.valueOf(txtPrecio.getText().trim()));
			
			productoArrayList= new ProductoArrayList();
			
			productoArrayList.AgregarProducto(producto);
			
			Utilitarios.MostrarMensajeInformacion(agregarProducto,
					"Se agrego un producto correctamente");
			LimpiarDatos();
			

		} catch (Exception ex) {
		}
	}

	private boolean ValidarFormularioAgregarProductos(Producto producto) {
		boolean resultado = false;
		
		return resultado;
	}
}
